package ve.edu.ucla.laboratorio.dals.modelo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import android.content.Context;
import android.content.SharedPreferences;

public class Preferencias {
	private static final String nombreArchivoPreferencias = "DALS-NM2-CONF";
	private final SharedPreferences proveedor;
	
	public Preferencias(Context contexto) {
		this.proveedor = contexto.getSharedPreferences(nombreArchivoPreferencias, Context.MODE_PRIVATE);
	}
	
	public String getDireccionProveedorDatos() {
		return proveedor.getString("host-url", "http://10.0.2.2:3257/");
	}
	
	public void setDireccionProveedorDatos(String direccion) {
		proveedor.edit().putString("host-url", direccion);
	}

	public String getAutenticacionNombreUsuario() {
		return proveedor.getString("auth-username", "");
	}

	public Date getAutenticacionFechaCaducacion() {
		long valor = proveedor.getLong("auth-expire", -1);
		if (valor == -1) return null;
		return new Date(valor);
	}

	public List<Permiso> getAutenticacionListadoPermisos() {
		List<Permiso> permisos = new ArrayList<Permiso>();
		
		String datos = proveedor.getString("auth-permissions", "");
		String[] datosSeparados = datos.split(",");
		for (String t : datosSeparados) permisos.add(Permiso.valueOf(t));
		
		return permisos;
	}

	public EstadoAutenticacion getAutenticacionEstado() {
		return EstadoAutenticacion.valueOf(proveedor.getString("auth-state", "NO_AUTENTICADO"));
	}
}
